<?php

class Admin_MeusdadosController extends Zend_Controller_Action
{
 	public $_usuario;
    public $_usuarioLogado;
    
    public function init()
    {
        $this->_usuario = new Application_Model_Usuario();
    }
    public function preDispatch ()
    {
        if (! Zend_Auth::getInstance()->getIdentity()) {
            $this->_redirect('/autenticacao');
        } 
    }

    public function editarAction ()
    {
    $auth = Zend_Auth::getInstance();
    $idusuario = $auth->getIdentity()->idusuario;
    $rusuario = $this->_usuario->procura($idusuario);
    $form = new Application_Form_Usuario();
    //populando formulario
    $form->getElement('nome')->setValue($rusuario['nome']);
    $form->getElement('email')->setValue($rusuario['email']);
    $form->getElement('login')->setValue($rusuario['login']);
    $form->setDefault('idperfil', $rusuario['idperfil']);
    $form->getElement('salvar')->setAttribs(array('title'=>'Atualizar'))->setName('Atualizar');
    $form->getElement('login')->setAttribs(array('readonly'=> false,'disabled'=>true)); 
    $form->getElement('idperfil')->setAttribs(array('readonly'=> false,'disabled'=>true)); 
    $form->removeElement('senha');
    $this->view->form = $form;
    $this->view->idusuario = $idusuario;
    
    //Se for via post
	    if($this->_request->isPost()){
	    	$data = $this->_request->getPost();
	    	if ($form->isValid($data)) {		    	
		    	unset($data['salvar']); //Remove o submit do array de dados
		    	unset($data['cancelar']); //Remove o cancelar do array de dados
		    	unset($data['senha']); //Remove o senha do array de dados
		    	
		    	
		    	$this->_usuario->update($this->_request->getParam('id'), $data['nome'],$data['idperfil'],$data['email']);    	
		    	$this->_helper->flashMessenger(array('flashmessage'=>'Usuário atualizado com sucesso!'));
		    	$this->_redirect('/admin/meusdados/editar');
	    	}
	    }
    }
    public function alterarSenhaAction ()
    {
        // se não existir parametro (id) redireciona para pagina usuario inicial
        if ($this->_hasParam('id') == false) {
            $this->_redirect('/admin/meusdados/editar');
        } else {
            $idusuario = $this->_request->getParam('id');
            $dadosUsuario = $this->_usuario->procura($idusuario);
            $form = new Application_Form_EditarSenha();
            $form->getElement('Salvar')->setValue('Alterar');
            $form->getElement('idusuario')->setValue($idusuario);
            $form->getElement('Salvar')->setName('Alterar');
            $this->view->usuario = $dadosUsuario['nome'];
            $this->view->form = $form;
            if ($this->_request->isPost()) {
                $data = $this->_request->getPost();
                if ($form->isValid($data)) {
                    if($dadosUsuario['senha']==sha1($data['senhaAtual'])){
                    	$this->_usuario->changePassword($idusuario, sha1($data['senha']));
                    	$this->_helper->flashMessenger(array('flashmessage'=>'Senha alterada com sucesso!'));
                    	$this->_redirect('/admin/meusdados/editar');
                    }else{
                    	$this->_helper->flashMessenger(array('flashmessage'=>"<strong style='color:red'>A senha atual não coincide com a senha registrada em nosso sistema!</strong>"));
                    }
                }
            }
        }
    }

}

